#include "stm32f1xx_hal.h"
#include "motor.h"
#include "tim.h"
#define PWM_MAX 7200
#define PWM_MIN -7200

int abs(int p)
{
	if(p>0)
	{
		return p;
	}
	else
	{
		return -p;
	}
}

void Load(int motor1,int motor2)   //-7200~7200
{
	if(motor1<0)
	{
		HAL_GPIO_WritePin(GPIOB,GPIO_PIN_13,1);
		HAL_GPIO_WritePin(GPIOB,GPIO_PIN_12,0);
	}
	else
	{
		HAL_GPIO_WritePin(GPIOB,GPIO_PIN_13,0);
		HAL_GPIO_WritePin(GPIOB,GPIO_PIN_12,1);
	}
	__HAL_TIM_SetCompare(&htim1,TIM_CHANNEL_4,abs(motor1));
	if(motor2<0)
	{
		HAL_GPIO_WritePin(GPIOB,GPIO_PIN_14,1);
		HAL_GPIO_WritePin(GPIOB,GPIO_PIN_15,0);
	}
	else
	{
		HAL_GPIO_WritePin(GPIOB,GPIO_PIN_14,0);
		HAL_GPIO_WritePin(GPIOB,GPIO_PIN_15,1);
	}
	__HAL_TIM_SetCompare(&htim1,TIM_CHANNEL_1,abs(motor2));
}

void Limit(int *motorA,int *motorB)
{
	if(*motorA>=PWM_MAX)
	{
		*motorA=PWM_MAX;
	}
	
	if(*motorB>=PWM_MAX)
	{
		*motorB=PWM_MAX;
	}
	
	if(*motorA<=PWM_MIN)
	{
		*motorA=PWM_MIN;
	}
	
	if(*motorB<=PWM_MIN)
	{
		*motorB=PWM_MIN;
	}
	
}